// c++ 函数重载
#include <iostream>
using namespace std;

//1./2.
void f(int a)
{

}

void f(int a,int b)
{

}

//3.
class some
{
    void f(int a){}
    void f(int a)const{}
};

//4.
void f(int *x)
{
    cout << __LINE__ << endl;
}

void f(const int *x)
{
    cout << __LINE__ << endl;
}

int main()
{
    int i = 100;
    f(&i);

    const int *p = &i;
    f(p);

    return 0;
}

//可以形成重载的4种情形：
//1.参数个数不同
//2.参数类型不同
//3.类方法的const可以构成重载
//4.普通指针与常目标指针可以构成重载